/**
 * Created by 1 on 2016/12/9.
 */
var spaceManager = {
	//宇宙管理员的记事本
	notebook:{
		//飞船列表
		spaceShipList:[],
		//飞船飞行管理ID
		spaceShipFlyManager:0,
		//太阳能管理
		solarManager:0
	},
	/**
	 * 创建飞船
	 * @param orbitId 轨道Id
	 */
	createSpaceShip:function (orbitId) {
		//创建飞船对象并保存到数组中,并且返回该数在数组中的位置
		var shipId = this.notebook.spaceShipList.push(new SpaceShip(orbitId));//创建新实例
		//创建飞船主体div
		var spaceshipDiv = document.createElement("div");
		spaceshipDiv.id = "spaceship" + shipId;
		spaceshipDiv.className = "space-ship orbit-ship" + orbitId;
		//创建能量条div
		var energyDiv = document.createElement("div");
		energyDiv.className = "energy";
		spaceshipDiv.appendChild(energyDiv);
		//创建能量文本div
		var textDiv = document.createElement("div");
		textDiv.className = "text";
		textDiv.innerHTML = "100%";//插入文本
		energyDiv.appendChild(textDiv);
		//将飞船显示在网页上
		document.body.appendChild(spaceshipDiv);
	},
	//无线电，向宇宙中的飞船广播消息
	Mediator:{
		sendMessage:function (message) {
			setTimeout(function () {//隔1秒之后发送消息
				//随机0.3丢包概率
				if(Math.random() < 0.3){//随机函数，如果小于，则直接返回，不发送消息
					log("向轨道" + (message.id + 1) + "发送的 " + message.command + "指令丢包了！" ,"red");
					return;
				}
				log("向轨道" + (message.id + 1) + "发送的 " + message.command + "指令发送成功了！" ,"green");
				for(var i = 0;i < spaceManager.notebook.spaceShipList.length;i++){
					if(spaceManager.notebook.spaceShipList[i]._destroyed){
						continue;//若该飞船已经被销毁，则跳过本次飞船，循环下个飞船
					}
					spaceManager.notebook.spaceShipList[i].Mediator.sendMessage(message);//调用自身，发送消息
				}
			},1000);
		},
		createSpaceShip:function (orbitId) {
			setTimeout(function () {
				if (Math.random() < 0.3){
					log("向轨道" + (orbitId + 1) + "发送的create" + "指令丢包了！" ,"red");
					return;
				}
				log("向轨道" + (orbitId + 1) + "发送的create" + "指令成功！" ,"green");
				spaceManager.createSpaceShip(orbitId);
			},1000);
		}
	}
};
//飞船飞行已经显示管理
(function () {
	spaceManager.notebook.spaceShipFlyManager = setInterval(function () {

	},100);
})();